# from collections import defaultdict

lis1 = [{'age': 18, 'name': '冯亚奇'}, {'age': 18, 'name': '李勇泽'},
        {'age': 21, 'name': '王晓丽'}, {'age': 21, 'name': '牛嘉恒'}]

# defaultdict是属于collections 模块下的一个工厂函数，用于构建字典对象，
# 接收一个函数（可调用）对象为作为参数。参数返回的类型是什么，key对应value
# 就是什么类型。

# 工厂函数就是转换数据类型比如int,string,list......

# b = defaultdict(list)
# for i in lis1:
#     b[i['age']].append(i['name'])
# print(b)
# for k,v in b.items():
#     print(k,v)

b = {}
for i in lis1:
    b[i['age']] = b.get(i['age'],[]) + [i['name']]
print(b)

